Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Introduce room knocks bar #11475

Merged

Conversation

charlynguyen
Copy link
Contributor

@charlynguyen charlynguyen commented Aug 29, 2023

We @nordeck are currently implementing the knock rooms behind the feature flag feature_ask_to_join (introduced in #11182).

This pull request introduces the room knocks bar.

Epic: element-hq/element-web#18655

Relates to

Screens

A single knock

01

Two knocks

02

Three knocks

03

More than three knocks

04

Checklist

  • Tests written for new code (and old code if feasible)
  • Linter and other CI checks pass
  • Sign-off given on the changes (see CONTRIBUTING.md)

Here's what your changelog entry will look like:

✨ Features

@github-actions github-actions bot added Z-Community-PR Issue is solved by a community member's PR T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements labels Aug 29, 2023
@charlynguyen charlynguyen marked this pull request as ready for review August 29, 2023 07:59
@charlynguyen charlynguyen requested a review from a team as a code owner August 29, 2023 07:59
Copy link
Contributor

@andybalaam andybalaam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, thanks!

Several minor questions and suggestions.

src/components/views/rooms/RoomKnocksBar.tsx Outdated Show resolved Hide resolved
src/components/views/rooms/RoomKnocksBar.tsx Outdated Show resolved Hide resolved
src/components/views/rooms/RoomKnocksBar.tsx Show resolved Hide resolved
src/components/views/rooms/RoomKnocksBar.tsx Outdated Show resolved Hide resolved
src/i18n/strings/en_EN.json Show resolved Hide resolved
test/components/views/rooms/RoomKnocksBar-test.tsx Outdated Show resolved Hide resolved
test/components/views/rooms/RoomKnocksBar-test.tsx Outdated Show resolved Hide resolved
test/components/views/rooms/RoomKnocksBar-test.tsx Outdated Show resolved Hide resolved
Copy link
Contributor

@weeman1337 weeman1337 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tested the branch. Looks basically good. Found one issue:

  • User A: Knock at a room
  • User B: Decline
  • User A: Knock again
  • User B: There is a stuck banner with disabled buttons

image

@charlynguyen
Copy link
Contributor Author

I've tested the branch. Looks basically good. Found one issue:

  • User A: Knock at a room
  • User B: Decline
  • User A: Knock again
  • User B: There is a stuck banner with disabled buttons

image

Thanks a lot for the catch @weeman1337!

Copy link
Contributor

@weeman1337 weeman1337 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and works now! 👍

Copy link
Contributor

@andybalaam andybalaam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really nice, thanks!

@andybalaam
Copy link
Contributor

@charlynguyen this needs conflicts resolved before we can merge - give me a ping if that is not straightforward, and give me a ping when it's ready to merge. Thanks!

Charly Nguyen added 2 commits August 31, 2023 14:44
Signed-off-by: Charly Nguyen <[email protected]>
Signed-off-by: Charly Nguyen <[email protected]>
@charlynguyen charlynguyen force-pushed the charlynguyen/introduce-room-knocks-bar branch from 654abb7 to 99be435 Compare August 31, 2023 13:01
@charlynguyen
Copy link
Contributor Author

charlynguyen commented Aug 31, 2023

@andybalaam I resolved the conflict. It was straightforward. @t3chguy was so kind and moved the approve/deny keys to action|approve/deny. So, I don't need to do it in this PR. Thanks!

@weeman1337
Copy link
Contributor

Will merge as soon as CI finished

@weeman1337 weeman1337 added this pull request to the merge queue Aug 31, 2023
Merged via the queue into matrix-org:develop with commit 45094bd Aug 31, 2023
16 checks passed
@charlynguyen charlynguyen deleted the charlynguyen/introduce-room-knocks-bar branch August 31, 2023 15:12
@andybalaam
Copy link
Contributor

Hi, just a heads up @charlynguyen - we should have spotted these in review, but we need a couple of changes to this because it caused a performance problem in large rooms: element-hq/element-web#26090

  1. This should only be enabled when the labs flag is on. I wrote Only display RoomKnocksBar when feature flag is enabled #11513 to do this.
  2. It turns out the RoomStateEvent.Members event is a bit of a footgun because it fires for every single member when you enter a room(!). Instead, you should use RoomStateEvent.Update, which fires only when the room state changes.

Please could you look at 2) ?

@charlynguyen
Copy link
Contributor Author

@andybalaam 2) #11516

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Sep 30, 2023
Changes in [1.11.45](https://github.com/vector-im/element-web/releases/tag/v1.11.45) (2023-09-29)
=================================================================================================

## 🐛 Bug Fixes
 * Fix Emoji font on Safari 17 ([\#11673](matrix-org/matrix-react-sdk#11673)).

Changes in [1.11.44](https://github.com/vector-im/element-web/releases/tag/v1.11.44) (2023-09-26)
=================================================================================================

## ✨ Features
 * Make video & voice call buttons pin conference widget if unpinned ([\#11576](matrix-org/matrix-react-sdk#11576)). Fixes vector-im/customer-retainer#72.
 * OIDC: persist refresh token ([\#11249](matrix-org/matrix-react-sdk#11249)). Contributed by @kerryarchibald.
 * ElementR: Cross user verification ([\#11364](matrix-org/matrix-react-sdk#11364)). Fixes #25752. Contributed by @florianduros.
 * Default intentional mentions ([\#11602](matrix-org/matrix-react-sdk#11602)).
 * Notify users about denied access on ask-to-join  rooms ([\#11480](matrix-org/matrix-react-sdk#11480)). Contributed by @nurjinjafar.
 * Allow setting knock room directory visibility ([\#11529](matrix-org/matrix-react-sdk#11529)). Contributed by @charlynguyen.

## 🐛 Bug Fixes
 * Revert "Fix regression around FacePile with overflow (#11527)" ([\#11634](matrix-org/matrix-react-sdk#11634)). Fixes #26209.
 * Escape placeholder before injecting it into the style ([\#11607](matrix-org/matrix-react-sdk#11607)).
 * Move ViewUser action callback to RoomView ([\#11495](matrix-org/matrix-react-sdk#11495)). Fixes #26040.
 * Fix room timeline search toggling behaviour edge case ([\#11605](matrix-org/matrix-react-sdk#11605)). Fixes #26105.
 * Avoid rendering view-message link in RoomKnocksBar unnecessarily ([\#11598](matrix-org/matrix-react-sdk#11598)). Contributed by @charlynguyen.
 * Use knock rooms sync to reflect the knock state ([\#11596](matrix-org/matrix-react-sdk#11596)). Fixes #26043 and #26044. Contributed by @charlynguyen.
 * Fix avatar in right panel not using the correct font ([\#11593](matrix-org/matrix-react-sdk#11593)). Fixes #26061. Contributed by @MidhunSureshR.
 * Add waits in Spotlight Cypress tests, hoping this unflakes them ([\#11590](matrix-org/matrix-react-sdk#11590)). Fixes #26053, #26140 #26139 and #26138. Contributed by @andybalaam.
 * Fix vertical alignment of default avatar font ([\#11582](matrix-org/matrix-react-sdk#11582)). Fixes #26081.
 * Fix avatars in public room & space search being flex shrunk ([\#11580](matrix-org/matrix-react-sdk#11580)). Fixes #26133.
 * Fix EventTile avatars being rendered with a size of 0 instead of hidden ([\#11558](matrix-org/matrix-react-sdk#11558)). Fixes #26075.

Changes in [1.11.43](https://github.com/vector-im/element-web/releases/tag/v1.11.43) (2023-09-15)
=================================================================================================

(No changes - bumping the version number for an element-desktop release.)

Changes in [1.11.42](https://github.com/vector-im/element-web/releases/tag/v1.11.42) (2023-09-13)
=================================================================================================

## 🐛 Bug Fixes
 * Update Compound to fix Firefox-specific avatar regression ([\#11604](matrix-org/matrix-react-sdk#11604)). Fixes #26155.

Changes in [1.11.41](https://github.com/vector-im/element-web/releases/tag/v1.11.41) (2023-09-12)
=================================================================================================

## 🦖 Deprecations
 * Deprecate customisations in favour of Module API ([\#25736](element-hq/element-web#25736)). Fixes #25733.

## ✨ Features
 * Make SVGR icons use forward ref ([\#26082](element-hq/element-web#26082)).
 * Add support for rendering a custom wrapper around Element ([\#25537](element-hq/element-web#25537)). Contributed by @maheichyk.
 * Allow creating public knock rooms ([\#11481](matrix-org/matrix-react-sdk#11481)). Contributed by @charlynguyen.
 * Render custom images in reactions according to MSC4027 ([\#11087](matrix-org/matrix-react-sdk#11087)). Contributed by @sumnerevans.
 * Introduce room knocks bar ([\#11475](matrix-org/matrix-react-sdk#11475)). Contributed by @charlynguyen.
 * Room header UI updates ([\#11507](matrix-org/matrix-react-sdk#11507)). Fixes #25892.
 * Remove green "verified" bar for encrypted events ([\#11496](matrix-org/matrix-react-sdk#11496)).
 * Update member count on room summary update ([\#11488](matrix-org/matrix-react-sdk#11488)).
 * Support for E2EE in Element Call  ([\#11492](matrix-org/matrix-react-sdk#11492)).
 * Allow requesting to join knock rooms via spotlight ([\#11482](matrix-org/matrix-react-sdk#11482)). Contributed by @charlynguyen.
 * Lock out the first tab if Element is opened in a second tab. ([\#11425](matrix-org/matrix-react-sdk#11425)). Fixes #25157.
 * Change avatar to use Compound implementation ([\#11448](matrix-org/matrix-react-sdk#11448)).

## 🐛 Bug Fixes
 * Fix vertical alignment of default avatar font ([\#11582](matrix-org/matrix-react-sdk#11582)). Fixes #26081.
 * Fix avatars in public room & space search being flex shrunk ([\#11580](matrix-org/matrix-react-sdk#11580)). Fixes #26133.
 * Fix EventTile avatars being rendered with a size of 0 instead of hidden ([\#11558](matrix-org/matrix-react-sdk#11558)). Fixes #26075.
 * Fix compound external assets path in bundle ([\#26069](element-hq/element-web#26069)).
 * Use RoomStateEvent.Update for knocks ([\#11516](matrix-org/matrix-react-sdk#11516)). Contributed by @charlynguyen.
 * Prevent event propagation when clicking icon buttons ([\#11515](matrix-org/matrix-react-sdk#11515)).
 * Only display RoomKnocksBar when feature flag is enabled ([\#11513](matrix-org/matrix-react-sdk#11513)). Contributed by @andybalaam.
 * Fix avatars of knock members for people tab of room settings ([\#11506](matrix-org/matrix-react-sdk#11506)). Fixes #26083. Contributed by @charlynguyen.
 * Fixes read receipt avatar offset ([\#11483](matrix-org/matrix-react-sdk#11483)). Fixes #26067, #26064 #26059 and #26061.
 * Fix avatar defects ([\#11473](matrix-org/matrix-react-sdk#11473)). Fixes #26051 and #26046.
 * Fix consistent avatar output for Percy ([\#11472](matrix-org/matrix-react-sdk#11472)). Fixes #26049 and #26052.
 * Fix colour of avatar and colour matching with username ([\#11470](matrix-org/matrix-react-sdk#11470)). Fixes #26042.
 * Fix incompatibility of Soft Logout with Element-R ([\#11468](matrix-org/matrix-react-sdk#11468)).
 * Fix instances of double translation and guard translation calls using typescript ([\#11443](matrix-org/matrix-react-sdk#11443)).
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements Z-Community-PR Issue is solved by a community member's PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants